home *** CD-ROM | disk | FTP | other *** search
/ C & C++ Multimedia Cyber Classroom / C and C++ Multimedia Cyber Classroom (Prentice Hall) (1998).iso / cpphtp2 / code.jar / code / ch21 / fig21_04.txt < prev    next >
Text File  |  1998-02-27  |  831b  |  28 lines

  1. 1   // Fig. 21.4: fig21_04.cpp
  2. 2   // Demonstrating reinterpret_cast operator.
  3. 3   #include <iostream.h>
  4. 4   
  5. 5   int main()
  6. 6   {
  7. 7      unsigned x = 22, *unsignedPtr;
  8. 8      void *voidPtr = &x;
  9. 9      char *charPtr = "C++";
  10. 10  
  11. 11     // cast from void * to unsigned *
  12. 12     unsignedPtr = reinterpret_cast< unsigned * >( voidPtr );
  13. 13  
  14. 14     cout << "*unsignedPtr is " << *unsignedPtr 
  15. 15          << "\ncharPtr is " << charPtr;
  16. 16  
  17. 17     // use reinterpret_cast to cast a char * pointer to unsigned
  18. 18     cout << "\nchar * to unsigned results in: "
  19. 19          << ( x = reinterpret_cast< unsigned >( charPtr ) );
  20. 20  
  21. 21     // cast unsigned back to char *
  22. 22     cout << "\nunsigned to char * results in: "
  23. 23          << reinterpret_cast< char * >( x ) << endl;
  24. 24  
  25. 25     return 0;
  26. 26  }
  27. }
  28.